#!/usr/bin/env node

// node cli应用入口文件必须要有这样的文件头
// 如果是Linux 或者是 macOS 系统下还需要修改此文件的读写权限为 755
// 具体就是通过 chmod 755 cli.js 实现修改

console.log("cli  working");

// 脚手架工作过程： 
//  1、通过命令行交互问询用户问题
//  2、根据用户回答的结果生成文件
const fs = require('fs')
// 最新版本不支持require引入，降级到@8.1.0
const inquirer = require('inquirer');
const path = require('path')
const ejs = require("ejs")

inquirer.prompt([
  {
    type: "input",
    name: "name",
    message: "Project name?"
  }
]).then(answers => {
  console.log(answers);

  // 根据用户回答的结果生成文件

  // 模板根目录
  const temDir = path.join(__dirname, "templates")

  // 目标目录
  const destDir = process.cwd()

  // 将模板下的文件全部转换到目标目录
  fs.readdir(temDir, (err, files) => {
    if (err) throw err
    files.forEach(item => {
      console.log(item);
      ejs.renderFile(path.join(temDir, item), answers, (err,result) => {
        if (err) throw err
        console.log(result);
        fs.writeFileSync(path.join(destDir, item), result)
      })
    })
  })
})